---
# Copyright 2015, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

- name: Create swap file
  command: "dd if=/dev/zero of=/openstack/swap.img bs=1M count={{ bootstrap_host_loopback_swap_size }}"
  args:
    creates: /openstack/swap.img
  register: swap_create
  tags:
    - swap-file-create

- name: Format the swap file
  command: mkswap /openstack/swap.img
  when:
    - swap_create | changed
  tags:
    - swap-format
    - skip_ansible_lint

- name: Run the systemd mount role
  include_role:
    name: systemd_mount
    private: true
  vars:
    systemd_mounts:
      - what: "/openstack/swap.img"
        priority: "0"
        options: "%%"
        type: "swap"
        state: 'started'
        enabled: true
  tags:
    - swap-config

- name: Set system swappiness
  sysctl:
    name: vm.swappiness
    value: 10
    state: present
  tags:
    - swap-sysctl
